﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ПорядокРасчетаОценочныхОбязательств
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///суммы начислений по оплате труда и исчисленные страховые взносы
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"892c8932-0859-47b2-9d09-528ea54500eb\", \"Представление\":\"НачисленияИВзносы\"}")]
		НачисленияИВзносы = 0,//суммы начислений по оплате труда и исчисленные страховые взносы
	///<summary>
	///суммы начислений по оплате труда
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f883fcb4-2d83-41af-8da4-4dc0adbd358a\", \"Представление\":\"Начисления\"}")]
		Начисления = 1,//суммы начислений по оплате труда
	}
	public static partial class ПорядокРасчетаОценочныхОбязательств_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///суммы начислений по оплате труда и исчисленные страховые взносы
		///</summary>
		public static readonly Guid НачисленияИВзносы = new Guid("8e52099d-45a5-eb00-47b2-0859892c8932");//суммы начислений по оплате труда и исчисленные страховые взносы
		///<summary>
		///суммы начислений по оплате труда
		///</summary>
		public static readonly Guid Начисления = new Guid("c04da48d-bdad-8a35-41af-2d83f883fcb4");//суммы начислений по оплате труда
		public static ПорядокРасчетаОценочныхОбязательств Получить(this ПорядокРасчетаОценочныхОбязательств Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ПорядокРасчетаОценочныхОбязательств Получить(this ПорядокРасчетаОценочныхОбязательств Значение, Guid Ссылка)
		{
			if(Ссылка == НачисленияИВзносы)
			{
				return ПорядокРасчетаОценочныхОбязательств.НачисленияИВзносы;
			}
			else if(Ссылка == Начисления)
			{
				return ПорядокРасчетаОценочныхОбязательств.Начисления;
			}
			return ПорядокРасчетаОценочныхОбязательств.ПустаяСсылка;
		}
		public static byte[] Ключ(this ПорядокРасчетаОценочныхОбязательств Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ПорядокРасчетаОценочныхОбязательств Значение)
		{
			switch (Значение)
			{
				case ПорядокРасчетаОценочныхОбязательств.НачисленияИВзносы: return НачисленияИВзносы;
				case ПорядокРасчетаОценочныхОбязательств.Начисления: return Начисления;
			}
			return Guid.Empty;
		}
	}
}